1
Enam Pilar dalam Alur Kerja PyTorch
EvoClass-AI002Lecture 2
00:00

Framework PyTorch dibangun berdasarkan metodologi standar yang sangat efisien. Pelajaran ini memperkenalkan alur kerja lengkap dan dapat diulang secara berulang, yaitu Alur Kerja Enam Pilar yang menjadi rancangan dasar bagi semua proyek pembelajaran mendalam selanjutnya. Mulai dari menentukan arsitektur hingga menyimpan bobot akhir, langkah-langkah ini menciptakan jalur yang jelas dan terlacak untuk pengembangan model.

Gambaran Umum Alur Kerja ML Standar

Kami menggunakan tugas regresi linier sederhana sebagai kendaraan untuk menggambarkan keenam langkah wajib ini. Memahami struktur ini sangat penting, karena menentukan bagaimana data dikelola, bagaimana parameter dioptimalkan melalui backpropagation, serta bagaimana model hasil Anda diterapkan.

Prinsip Struktural

Enam pilar ini menjamin ketahanan dan pemisahan kejelasan perhatian dalam proyek pembelajaran mesin Anda:

  • Fokus Pilar (Modularitas): Membentuk batasan antara pemuatan data, arsitektur model, dan logika optimasi untuk menjaga modularitas.
  • Tautan Kritis (Autograd): Pilar 3 dan 4 (Loss/Optimizer dan Pelatihan) bergantung langsung pada mesin Autograd untuk menghitung gradien yang benar.
  • Tujuan (Pelaksanaan): Menghasilkan model yang diserialkan (Pilar 6) yang dapat berjalan secara efisien di lingkungan target apa pun (CPU atau perangkat keras khusus).
Pentingnya Pembagian Latih/Uji
Pilar 1 (Persiapan Data) menuntut pemisahan data dengan hati-hati. Model harus hanya belajar dari set pelatihan, dan kinerjanya harus harus divalidasi menggunakan set uji yang tidak terlihat (Pilar 5) untuk memastikan generalisasi.
workflow.py
TERMINALbash — pytorch-env
> Ready. Click "Run" to simulate the workflow.
>
WORKFLOW STAGE Overview

Visualizing the Process: The workflow transforms raw input data (Pillar 1) through the network weights (Pillar 2) to yield a highly optimized, savable file (Pillar 6).
Question 1
Which step immediately follows the calculation of the Loss during the training loop?
Calling loss.backward() (Backpropagation)
Saving the model state dictionary
Performing the forward pass again
Running the evaluation loop
Question 2
What is the primary purpose of Pillar 3 (Loss and Optimizer Setup)?
Defining how error is measured and how weights are adjusted.
Defining the model's architecture (layers).
Splitting the data into training and testing sets.
Question 3
What is required for a parameter to be adjustable during the training loop?
It must be defined as a subclass of nn.Module and have requires_grad=True.
It must be converted to a NumPy array first.
It must be saved to disk before training starts.
Challenge: Ordering the Training Cycle
Arrange the four core operations within the Training Loop (Pillar 4).
You have completed the Forward Pass and calculated the loss. List the remaining steps in chronological order for a single training iteration.
Step 1
What is the correct order for the final three steps of one training iteration?
Solution:
  1. Zero the gradients (optimizer.zero_grad())
  2. Backward Pass (loss.backward())
  3. Update Weights (optimizer.step())
Step 2
If the model performs poorly on the Test set (Pillar 5) but well on the Training set, which Pillar needs review?
Solution:
Pillar 2 (Model Definition—potential overfitting due to complexity) or Pillar 1 (Data Preparation—training/testing sets may not be representative).